import { ref, reactive,computed } from 'vue'
import { defineStore } from 'pinia'

export const useCartStore = defineStore('cartStore',()=>{
      const cartList=reactive([])

      const totalPrice=computed(()=>{
        return cartList.reduce((sum, cl) => {
          sum += cl.price * cl.quantity
          return sum
        }, 0)
      })

     function addToCart(product) {
      // 查找购物车里是否有这个产品
        const p = cartList.find((value) => {
            return value.id === product.id
          })
          // 如果有，就让购物车里的产品数量加 1
          if (p) {
            p.quantity++
          // 如果没有，需要将这个产品添加到购物车里
          } else {
            cartList.push({
              ...product,
              quantity: 1
            })
          }
          // 需要减少库存
        product.inventory--
    }
    return {cartList,totalPrice,addToCart}
  })
